3 %bcond_without apidocs # gtk-doc build
4 %bcond_without cups # CUPS support module
5 %bcond_without papi # PAPI support module
6 %bcond_without broadway # Broadway target
7 %bcond_without wayland # Wayland target
8 %bcond_without static_libs # static library build
10 Summary: The GIMP Toolkit
11 Summary(cs.UTF-8): Sada nástrojů pro GIMP
12 Summary(de.UTF-8): Der GIMP-Toolkit
13 Summary(fi.UTF-8): GIMP-työkalukokoelma
14 Summary(fr.UTF-8): Le toolkit de GIMP
15 Summary(it.UTF-8): Il toolkit per GIMP
16 Summary(pl.UTF-8): GIMP Toolkit
17 Summary(tr.UTF-8): GIMP ToolKit arayüz kitaplığı
23 Source0: http://ftp.gnome.org/pub/GNOME/sources/gtk+/3.10/gtk+-%{version}.tar.xz
24 # Source0-md5: f5148a330886b906ba0eb7842409d93f
25 Patch0: %{name}-papi.patch
26 URL: http://www.gtk.org/
27 BuildRequires: at-spi2-atk-devel >= 2.6.0
28 BuildRequires: atk-devel >= 1:2.8.0
29 BuildRequires: autoconf >= 2.62
30 BuildRequires: automake >= 1:1.11
31 BuildRequires: cairo-gobject-devel >= 1.12.0
32 BuildRequires: colord-devel >= 0.1.9
33 %if %{with cups} || %{with papi}
34 BuildRequires: cups-devel >= 1:1.2
36 BuildRequires: docbook-dtd412-xml
37 BuildRequires: docbook-style-xsl
38 BuildRequires: gdk-pixbuf2-devel >= 2.28.0
39 BuildRequires: gettext-devel
40 BuildRequires: glib2-devel >= 1:2.38.0
41 BuildRequires: gobject-introspection-devel >= 1.32.0
43 BuildRequires: gtk-doc >= 1.11
44 BuildRequires: gtk-doc-automake >= 1.11
46 BuildRequires: libstdc++-devel
47 BuildRequires: libtool >= 2:2.2.6
48 BuildRequires: libxml2-progs >= 1:2.6.31
49 BuildRequires: libxslt-progs >= 1.1.20
50 BuildRequires: pango-devel >= 1:1.32.4
51 %{?with_papi:BuildRequires: papi-devel}
52 BuildRequires: perl-base
53 BuildRequires: pkgconfig
54 BuildRequires: rpm-pythonprov
55 BuildRequires: rpmbuild(macros) >= 1.592
56 BuildRequires: sqlite3-devel
57 BuildRequires: tar >= 1:1.22
58 BuildRequires: xorg-lib-libX11-devel >= 1.5.0
59 BuildRequires: xorg-lib-libXcomposite-devel
60 BuildRequires: xorg-lib-libXcursor-devel
61 BuildRequires: xorg-lib-libXdamage-devel
62 BuildRequires: xorg-lib-libXext-devel
63 BuildRequires: xorg-lib-libXfixes-devel
64 BuildRequires: xorg-lib-libXft-devel
65 BuildRequires: xorg-lib-libXi-devel
66 BuildRequires: xorg-lib-libXinerama-devel
67 BuildRequires: xorg-lib-libXrandr-devel >= 1.3.0
68 BuildRequires: xorg-lib-libXrender-devel
70 %{?with_broadway:BuildRequires: zlib-devel}
72 # wayland-client, wayland-cursor
73 BuildRequires: wayland-devel >= 1.2.0
74 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.2.0
76 Requires: xorg-lib-libX11 >= 1.5.0
77 Requires(post,postun): glib2 >= 1:2.38.0
78 Requires: atk >= 1:2.8.0
79 Requires: cairo-gobject >= 1.12.0
80 Requires: gdk-pixbuf2 >= 2.28.0
81 Requires: glib2 >= 1:2.38.0
82 Requires: pango >= 1:1.32.4
83 Requires: xorg-lib-libXi >= 1.3.0
84 Requires: xorg-lib-libXrandr >= 1.3.0
86 Requires: wayland >= 1.2.0
87 Requires: xorg-lib-libxkbcommon >= 0.2.0
89 # evince is used as gtk-print-preview-command by default
90 Suggests: evince-backend-pdf
92 # cups is used by default if gtk+ is built with cups
93 Suggests: %{name}-cups = %{version}-%{release}
95 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
99 %if "%{_lib}" != "lib"
100 %define libext %(lib="%{_lib}"; echo ${lib#lib})
101 %define pqext -%{libext}
107 GTK+, which stands for the GIMP ToolKit, is a library for creating
108 graphical user interfaces for the X Window System. It is designed to
109 be small, efficient, and flexible. GTK+ is written in C with a very
110 object-oriented approach. GDK (part of GTK+) is a drawing toolkit
111 which provides a thin layer over Xlib to help automate things like
112 dealing with different color depths, and GTK is a widget set for
113 creating user interfaces.
115 %description -l cs.UTF-8
116 Knihovny X původně psané pro GIMP, které nyní používá také řada jiných
119 %description -l da.UTF-8
120 X biblioteker, oprindeligt udviklet til GIMP, men anvendes nu af flere
121 forskellige programmer.
123 %description -l de.UTF-8
124 Die X-Libraries, die ursprünglich für GIMP geschrieben wurden und
125 mittlerweile für eine ganze Reihe anderer Programme benutzt werden.
127 %description -l fr.UTF-8
128 X-kirjastot, jotka alunperin kirjoitettiin GIMP:lle, mutta joita
129 käytetään nyt myös useissa muissakin ohjelmissa.
131 %description -l it.UTF-8
132 Libreria X scritta per GIMP. Viene usata da diversi programmi.
134 %description -l pl.UTF-8
135 GTK+, która to biblioteka stała się podstawą programu GIMP, zawiera
136 funkcje do tworzenia graficznego interfejsu użytkownika pod X Window.
137 Była tworzona z założeniem żeby była mała, efektywna i wygodna. GTK+
138 jest napisane w C z podejściem zorientowanym bardzo obiektowo. GDK
139 (część GTK+) jest warstwą pośrednią pomiędzy Xlib a właściwym GTK
140 zapewniającą pracę niezależnie od głębi koloru (ilości bitów na
141 piksel). GTK (druga część GTK+) jest natomiast już zbiorem różnego
142 rodzaju kontrolek służących do tworzenia interfejsu użytkownika.
144 %description -l tr.UTF-8
145 Başlangıçta GIMP için yazılmış X kitaplıkları. Şu anda başka
146 programlarca da kullanılmaktadır.
148 %package -n gtk-update-icon-cache
149 Summary: Utility to update icon cache used by GTK+ library
150 Summary(pl.UTF-8): Narzędzie do uaktualniania cache'a ikon używanego przez bibliotekę GTK+
151 Group: Applications/System
152 Requires: gdk-pixbuf2 >= 2.28.0
153 Requires: glib2 >= 1:2.38.0
155 %description -n gtk-update-icon-cache
156 Utility to update icon cache used by GTK+ library.
158 %description -n gtk-update-icon-cache -l pl.UTF-8
159 Narzędzie do uaktualniania cache'a ikon używanego przez bibliotekę
163 Summary: GTK+ header files and development documentation
164 Summary(cs.UTF-8): Sada nástrojů GIMP a kreslící kit GIMP
165 Summary(da.UTF-8): GIMP Toolkit og GIMP Tegnings-værktøj
166 Summary(de.UTF-8): GIMP Toolkit und GIMP Drawing Kit
167 Summary(fi.UTF-8): Gimp-työkalukokoelma ja Gimp-piirtotyökalut
168 Summary(fr.UTF-8): Toolkit de GIMP (GTK) et Kit de dessin de GIMP (GDK)
169 Summary(it.UTF-8): GIMP Toolkit and GIMP Drawing Kit
170 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do GTK+
171 Summary(tr.UTF-8): GIMP araç takımı ve çizim takımı
172 Group: X11/Development/Libraries
173 Requires: %{name} = %{version}-%{release}
174 Requires: at-spi2-atk-devel >= 2.6.0
175 Requires: atk-devel >= 1:2.8.0
176 Requires: cairo-gobject-devel >= 1.12.0
177 Requires: gdk-pixbuf2-devel >= 2.28.0
178 Requires: glib2-devel >= 1:2.38.0
179 Requires: pango-devel >= 1:1.32.4
180 Requires: shared-mime-info
183 Header files and development documentation for the GTK+ libraries.
185 %description devel -l pl.UTF-8
186 Pliki nagłówkowe i dokumentacja do bibliotek GTK+.
189 Summary: GTK+ static libraries
190 Summary(pl.UTF-8): Biblioteki statyczne GTK+
191 Group: X11/Development/Libraries
192 Requires: %{name}-devel = %{version}-%{release}
195 GTK+ static libraries.
197 %description static -l pl.UTF-8
198 Biblioteki statyczne GTK+
201 Summary: GTK+ API documentation
202 Summary(pl.UTF-8): Dokumentacja API GTK+
204 Requires: gtk-doc-common
207 GTK+ API documentation.
209 %description apidocs -l pl.UTF-8
210 Dokumentacja API GTK+.
213 Summary: GTK+ - example programs
214 Summary(pl.UTF-8): GTK+ - programy przykładowe
215 Group: X11/Development/Libraries
216 Requires(post,postun): glib2 >= 1:2.36.0
217 Requires: %{name}-devel = %{version}-%{release}
219 %description examples
220 GTK+ - example programs.
222 %description examples -l pl.UTF-8
223 GTK+ - przykładowe programy.
226 Summary: CUPS printing module for GTK+
227 Summary(pl.UTF-8): Moduł GTK+ do drukowania przez CUPS
229 Requires: %{name} = %{version}-%{release}
232 CUPS printing module for GTK+.
234 %description cups -l pl.UTF-8
235 Moduł GTK+ do drukowania przez CUPS.
238 Summary: PAPI printing module for GTK+
239 Summary(pl.UTF-8): Moduł GTK+ do drukowania przez PAPI
241 Requires: %{name} = %{version}-%{release}
245 PAPI printing module for GTK+.
247 %description papi -l pl.UTF-8
248 Moduł GTK+ do drukowania przez PAPI.
251 %setup -q -n gtk+-%{version}
254 # for packaging clean examples
255 # TODO: add am patch to do it like demos/gtk-demo via some configurable dir
256 # NOTE: make install so far installs only demos/gtk-demo
258 cp -a demos examples _examples
261 CPPFLAGS="%{rpmcppflags}%{?with_papi: -I/usr/include/papi}"
262 %{?with_apidocs:%{__gtkdocize}}
269 --disable-silent-rules \
271 %{!?with_papi:--disable-papi} \
272 %{?debug:--enable-debug=yes} \
273 %{__enable_disable apidocs gtk-doc} \
275 %{__enable_disable static_libs static} \
276 %{?with_broadway:--enable-broadway-backend} \
277 %{?with_wayland:--enable-wayland-backend} \
278 --enable-x11-backend \
281 --with-html-dir=%{_gtkdocdir}
284 democodedir=%{_examplesdir}/%{name}-%{version}/demos/gtk-demo
287 rm -rf $RPM_BUILD_ROOT
288 install -d $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{abivers}/engines
289 install -d $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{abivers}/theming-engines
292 democodedir=%{_examplesdir}/%{name}-%{version}/demos/gtk-demo \
293 DESTDIR=$RPM_BUILD_ROOT
295 touch $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{abivers}/gtk.immodules
296 install -d $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/modules
298 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
299 cp -a _examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
301 # shut up check-files (static modules and *.la for modules)
302 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{abivers}/*/*.la \
303 %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{abivers}/*/*.a}
305 %if "%{_lib}" != "lib"
306 # We need to have 32-bit and 64-bit binaries as they have hardcoded LIBDIR.
307 # (needed when multilib is used)
308 mv $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-3.0{,%{pqext}}
311 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
312 # unsupported by glibc
313 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{az_IR,io}
315 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
317 %find_lang %{name} --all-name
319 %{!?with_apidocs:%{__rm} -r $RPM_BUILD_ROOT%{_gtkdocdir}/{gdk3,gtk3}}
322 rm -rf $RPM_BUILD_ROOT
326 %glib_compile_schemas
328 %{_bindir}/gtk-query-immodules-3.0%{pqext} --update-cache
333 if [ "$1" != "0" ]; then
335 %{_bindir}/gtk-query-immodules-3.0%{pqext} --update-cache
337 %glib_compile_schemas
342 %glib_compile_schemas
345 %glib_compile_schemas
347 %files -f %{name}.lang
348 %defattr(644,root,root,755)
349 %doc AUTHORS NEWS README
350 %{?with_broadway:%attr(755,root,root) %{_bindir}/broadwayd}
351 %attr(755,root,root) %{_bindir}/gtk-launch
352 %attr(755,root,root) %{_bindir}/gtk-query-immodules-3.0%{pqext}
353 %attr(755,root,root) %{_libdir}/libgailutil-3.so.*.*.*
354 %attr(755,root,root) %ghost %{_libdir}/libgailutil-3.so.0
355 %attr(755,root,root) %{_libdir}/libgdk-3.so.*.*.*
356 %attr(755,root,root) %ghost %{_libdir}/libgdk-3.so.0
357 %attr(755,root,root) %{_libdir}/libgtk-3.so.*.*.*
358 %attr(755,root,root) %ghost %{_libdir}/libgtk-3.so.0
360 %dir %{_libdir}/gtk-3.0
361 %dir %{_libdir}/gtk-3.0/modules
362 %dir %{_libdir}/gtk-3.0/%{abivers}
363 %dir %{_libdir}/gtk-3.0/%{abivers}/engines
364 %dir %{_libdir}/gtk-3.0/%{abivers}/theming-engines
365 %dir %{_libdir}/gtk-3.0/%{abivers}/immodules
366 %dir %{_libdir}/gtk-3.0/%{abivers}/printbackends
367 %ghost %{_libdir}/gtk-3.0/%{abivers}/gtk.immodules
368 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/printbackends/libprintbackend-file.so
369 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/printbackends/libprintbackend-lpr.so
370 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-am-et.so
371 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-cedilla.so
372 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-cyrillic-translit.so
373 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-inuktitut.so
374 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-ipa.so
375 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-multipress.so
376 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-thai.so
377 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-ti-er.so
378 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-ti-et.so
379 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-viqr.so
380 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/immodules/im-xim.so
381 %{_libdir}/girepository-1.0/Gdk-3.0.typelib
382 %{_libdir}/girepository-1.0/GdkX11-3.0.typelib
383 %{_libdir}/girepository-1.0/Gtk-3.0.typelib
385 %dir %{_sysconfdir}/gtk-3.0
386 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gtk-3.0/im-multipress.conf
387 %{_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml
388 %{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
389 %dir %{_datadir}/themes/Default/gtk-3.0
390 %{_datadir}/themes/Default/gtk-3.0/gtk-keys.css
391 %dir %{_datadir}/themes/Emacs
392 %dir %{_datadir}/themes/Emacs/gtk-3.0
393 %{_datadir}/themes/Emacs/gtk-3.0/gtk-keys.css
394 %{?with_broadway:%{_mandir}/man1/broadwayd.1*}
395 %{_mandir}/man1/gtk-launch.1*
396 %{_mandir}/man1/gtk-query-immodules-3.0.1*
398 %files -n gtk-update-icon-cache
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_bindir}/gtk-update-icon-cache
401 %{_mandir}/man1/gtk-update-icon-cache.1*
404 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_libdir}/libgailutil-3.so
407 %attr(755,root,root) %{_libdir}/libgdk-3.so
408 %attr(755,root,root) %{_libdir}/libgtk-3.so
409 %{_includedir}/gail-3.0
410 %{_includedir}/gtk-3.0
411 %{_aclocaldir}/gtk-3.0.m4
412 %{_pkgconfigdir}/gail-3.0.pc
413 %{_pkgconfigdir}/gdk-3.0.pc
414 %{_pkgconfigdir}/gdk-x11-3.0.pc
415 %{_pkgconfigdir}/gtk+-3.0.pc
416 %{_pkgconfigdir}/gtk+-unix-print-3.0.pc
417 %{_pkgconfigdir}/gtk+-x11-3.0.pc
419 %{_pkgconfigdir}/gdk-broadway-3.0.pc
420 %{_pkgconfigdir}/gtk+-broadway-3.0.pc
423 %{_pkgconfigdir}/gdk-wayland-3.0.pc
424 %{_pkgconfigdir}/gtk+-wayland-3.0.pc
427 %{_datadir}/gir-1.0/Gdk-3.0.gir
428 %{_datadir}/gir-1.0/GdkX11-3.0.gir
429 %{_datadir}/gir-1.0/Gtk-3.0.gir
431 %if %{with static_libs}
433 %defattr(644,root,root,755)
434 %{_libdir}/libgailutil-3.a
435 %{_libdir}/libgdk-3.a
436 %{_libdir}/libgtk-3.a
441 %defattr(644,root,root,755)
442 %{_gtkdocdir}/gail-libgail-util3
448 %defattr(644,root,root,755)
449 %attr(755,root,root) %{_bindir}/gtk3-demo
450 %attr(755,root,root) %{_bindir}/gtk3-demo-application
451 %attr(755,root,root) %{_bindir}/gtk3-widget-factory
452 %{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
453 %{_datadir}/glib-2.0/schemas/org.gtk.exampleapp.gschema.xml
454 %{_examplesdir}/%{name}-%{version}
458 %defattr(644,root,root,755)
459 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/printbackends/libprintbackend-cups.so
464 %defattr(644,root,root,755)
465 %attr(755,root,root) %{_libdir}/gtk-3.0/%{abivers}/printbackends/libprintbackend-papi.so